| Grado | Tratamiento.1 | Tratamiento.2 | Control |
|---|---|---|---|
| K | Clase pequeña | Clase regular + asistente | Clase regular |
| 1 | Clase pequeña | Clase regular + asistente | Clase regular |
| 2 | Clase pequeña | Clase regular + asistente | Clase regular |
| 3 | Clase pequeña | Clase regular + asistente | Clase regular |
Introducción
El proyecto STAR (Student-Teacher Achievement Ratio) es parte de un estudio sobre el tamaño de las clases llevado a cabo en Tennessee en tres fases (es la primera de las fases). Este estudio de Tennessee fue diseñado para determinar el efecto del tamaño reducido de las clases en los primeros grados sobre el rendimiento académico a corto y largo plazo de los alumnos. Se inspiró en un estudio prometedor realizado en Indiana sobre los beneficios de las clases pequeñas, pero también consideró los costos adicionales de más aulas y profesores. La legislatura de Tennessee autorizó este estudio de cuatro años para obtener datos sobre la eficacia de las clases reducidas.
Detallando en el propio proyecto STAR, se compararon los resultados de alumnos en jardines de infancia y en los primeros tres grados, en clases pequeñas de 13 a 17 alumnos, clases regulares de 22 a 25 alumnos y clases regulares con un profesor particular. Aproximadamente 6500 alumnos en 330 aulas de unas 80 escuelas fueron evaluados en lectura, matemáticas y habilidades básicas de estudio mediante pruebas estandarizadas. Después de los cuatro años, se comprobó que las clases pequeñas mejoraron significativamente el aprendizaje temprano y los estudios cognitivos. En cualquier año de calendario, el experimento se llevó a cabo en solo uno de los grados, minimizando así el número de clases necesitadas.
Los datos del estudio están disponibles en el paquete AER de R.
Descripción del problema
En primer lugar, cargamos los datos a nuestro espacio de trabajo.
data(STAR)
starDf <- STAREncontramos con las siguientes características:
gender: Factor que indica el género del estudiante.
ethnicity: Factor que indica la etnicidad del estudiante con niveles “cauc” (Caucásico), “afam” (Afroamericano), “asian” (Asiático), “hispanic” (Hispano), “amindian” (Indio Americano) o “other” (Otro).
birth: Trimestre de nacimiento del estudiante (del año de clase).
stark: Factor que indica el tipo de clase STAR en jardín de infancia: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.
star1: Factor que indica el tipo de clase STAR en primer grado: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.
star2: Factor que indica el tipo de clase STAR en segundo grado: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.
star3: Factor que indica el tipo de clase STAR en tercer grado: regular, pequeña o regular-con-ayudante. NA indica que no asistió a ninguna clase STAR.
readk: Puntuación total de lectura en jardín de infancia.
read1: Puntuación total de lectura en primer grado.
read2: Puntuación total de lectura en segundo grado.
read3: Puntuación total de lectura en tercer grado.
mathk: Puntuación total de matemáticas en jardín de infancia.
math1: Puntuación total de matemáticas en primer grado.
math2: Puntuación total de matemáticas en segundo grado.
math3: Puntuación total de matemáticas en tercer grado.
lunchk: Factor que indica si el estudiante calificó para almuerzo gratuito en jardín de infancia.
lunch1: Factor que indica si el estudiante calificó para almuerzo gratuito en primer grado.
lunch2: Factor que indica si el estudiante calificó para almuerzo gratuito en segundo grado.
lunch3: Factor que indica si el estudiante calificó para almuerzo gratuito en tercer grado.
schoolk: Factor que indica el tipo de escuela en jardín de infancia: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).
school1: Factor que indica el tipo de escuela en primer grado: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).
school2: Factor que indica el tipo de escuela en segundo grado: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).
school3: Factor que indica el tipo de escuela en tercer grado: “inner-city” (ciudad interior), “suburban” (suburbana), “rural” (rural) o “urban” (urbana).
degreek: Factor que indica el título más alto del maestro en jardín de infancia: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “master+” (maestría+).
degree1: Factor que indica el título más alto del maestro en primer grado: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “phd” (doctorado).
degree2: Factor que indica el título más alto del maestro en segundo grado: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “phd” (doctorado).
degree3: Factor que indica el título más alto del maestro en tercer grado: “bachelor” (licenciatura), “master” (maestría), “specialist” (especialista) o “phd” (doctorado).
ladderk: Factor que indica el nivel de carrera del maestro en jardín de infancia: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “pending” (pendiente).
ladder1: Factor que indica el nivel de carrera del maestro en primer grado: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “noladder” (sin nivel).
ladder2: Factor que indica el nivel de carrera del maestro en segundo grado: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “noladder” (sin nivel).
ladder3: Factor que indica el nivel de carrera del maestro en tercer grado: “level1” (nivel 1), “level2” (nivel 2), “level3” (nivel 3), “apprentice” (aprendiz), “probation” (en prueba) o “noladder” (sin nivel).
experiencek: Años de experiencia total del maestro en jardín de infancia.
experience1: Años de experiencia total del maestro en primer grado.
experience2: Años de experiencia total del maestro en segundo grado.
experience3: Años de experiencia total del maestro en tercer grado.
tethnicityk: Factor que indica la etnicidad del maestro en jardín de infancia con niveles “cauc” (Caucásico) o “afam” (Afroamericano).
tethnicity1: Factor que indica la etnicidad del maestro en primer grado con niveles “cauc” (Caucásico) o “afam” (Afroamericano).
tethnicity2: Factor que indica la etnicidad del maestro en segundo grado con niveles “cauc” (Caucásico) o “afam” (Afroamericano).
tethnicity3: Factor que indica la etnicidad del maestro en tercer grado con niveles “cauc” (Caucásico), “afam” (Afroamericano) o “asian” (Asiático).
systemk: Factor que indica el ID del sistema escolar en jardín de infancia.
system1: Factor que indica el ID del sistema escolar en primer grado.
system2: Factor que indica el ID del sistema escolar en segundo grado.
system3: Factor que indica el ID del sistema escolar en tercer grado.
schoolidk: Factor que indica el ID de la escuela en jardín de infancia.
schoolid1: Factor que indica el ID de la escuela en primer grado.
schoolid2: Factor que indica el ID de la escuela en segundo grado.
schoolid3: Factor que indica el ID de la escuela en tercer grado.
Análisis exploratorio de datos
Observamos que hay una gran cantidad de datos faltantes en la mayor parte de las variables.
Esto se debe a la naturaleza de los datos en el que se va a recoger información del estudiante en distintos cursos (que coinciden con los años del estudio). Así pues, encontraremos NAs en un estudiante que por ejemplo estuviese solo en el curso de ‘Kindergarten’ (jardín de infancia) en uno de las escuelas del estudio y luego se marchase a otras escuelas de fuera de estas (los NAs estarían aquí en los cursos 1st, 2nd, 3rd en todas las variables que eso implica).
Consideremos la primera observación del conjunto de datos:
gender ethnicity birth stark star1 star2 star3 readk read1 read2 read3
1122 female afam 1979 Q3 <NA> <NA> <NA> regular NA NA NA 580
mathk math1 math2 math3 lunchk lunch1 lunch2 lunch3 schoolk school1
1122 NA NA NA 564 <NA> <NA> <NA> free <NA> <NA>
school2 school3 degreek degree1 degree2 degree3 ladderk ladder1 ladder2
1122 <NA> suburban <NA> <NA> <NA> bachelor <NA> <NA> <NA>
ladder3 experiencek experience1 experience2 experience3 tethnicityk
1122 level1 NA NA NA 30 <NA>
tethnicity1 tethnicity2 tethnicity3 systemk system1 system2 system3
1122 <NA> <NA> cauc <NA> <NA> <NA> 22
schoolidk schoolid1 schoolid2 schoolid3
1122 <NA> <NA> <NA> 54
En la salida encontramos que el estudiante ingresó al experimento en tercer grado en una clase regular, por lo que el tamaño de la clase se registra en star3 y las otras variables indicadoras de tipo de clase son NA. De la misma manera, sus puntuaciones de matemáticas y lectura para el tercer grado están disponibles; sin embargo, los valores de estas variables para otros grados no están presentes por la misma razón.
A modo de comprobación, nos aseguramos todas las entradas corresponden a estudiantes que participaron en el proyecto STAR al menos durante uno de los cuatro años.
Número de entradas sin participaciones: 0
A continuación, analizamos las distribuciones de las variables descritas.
Vemos de esta figura que el número de estudiantes no es constante a lo largo de los cursos. Naturalmente, esto no fue un experimento ideal. Podía haber movimiento estudiantil entre escuelas ajenas al experimento. A eso, ha de sumársele que en esos años no era obligatorio ir a Kindergarten en el estado de Tennessee, por lo que también mucha gente iniciaba su edación en Primero.
Se observan distribuciones muy parecidas entre los distintos cursos.
Puede observarse cómo el tipo de escuela está muy relacionado con la etnicidad de los estudiantes. Esta clasificación en inner-city, suburban, rural, urban fue realizada por parte de los diseñadores del estudio, ya que los legisladores no habían definido los tipos. Se procedió de la siguiente manera:
Las inner-city y suburban se agrupaban en la categoría de metropolitan areas.
inner-city: Las escuelas con esta clasificación están definidas como aquellas en las que más de la mitad de estudiantes recibían almuerzo gratuito.suburban: Las escuelas con esta clasificación son las que estaban en las áreas más externas de las ciudades metropolitanas.
En las áreas no metropolitanas las escuelas en ciudades con más de 2500 habitantes se clasificaban como urban y las escuelas en ciudades con menos de 2500 habitantes se clasificaban como rural.
Puede verse claramente cómo los afroamericanos tenían mayor disposición a tener almuerzo gratuito. Esto seguramente se deba a su condición económica más vulnerable.
Observemos a continuación algunos mapas de correlaciones entre variables.
En la parte inferior izquierda aparecen las correlaciones de Pearson y en la superior derecha las de Spearman.
Como era de esperar, hay una correlación bastante notable entre las puntuaciones de lectura y matemáticas en todos los cursos. Quien es bueno en una materia, es bueno en la otra (estudia, vamos). El resto de correlaciones entre estas variables mostradas no suelen ser muy altas, aunque sí son en algunos casos significativamente distintas de 0. Por ejemplo, resulta curioso observar cómo hay cierta correlación negativa entre las puntuaciones y el birth_year en KinderGarten (quizás la diferencia de edad se note más en las edades tempranas). Ocurre lo contrario para el resto de cursos, habiendo una correlación positiva.
La experiencia del profesorado también tiene cierta correlación positiva con las puntuaciones, pero muy débil. \(\\\)
A continuación, analizamos posibles asociaciones entre variables categóricas para cada curso mediante el estadístico V de Cramer, que está acotado entre 0 y 1, siendo 1 asociación total entre un par de variables categóricas y 0 ninguna asociación.
No se observa ninguna asociación fuerte entre el tratamiento y el resto de variables categóricas, lo cual está en concordancia con la asignación aleatoria del tratamiento. Donde sí observamos una mayor asociación es entre el tipo de escuela school y otras variables como lunch. Esto tiene sentido porque en el estudio se menciona que, la categoría de schools “inner-city” se asignó para las escuelas donde los alumnos recibían descuentos en la comida o comidas gratis (esto ya se había comentado anteriormente).
La relación que aparece entre technicity y school se fundamenta en que colegios donde había mayor porcentaje afam también lo poseen en profesores (esto lo vemos en la próxima Figura, recordando que en inner-city había una gran cantidad de estudiantes con ethnicity = "afam"). La alta asociación entre school y system se explica porque debido a que escuelas del mismo tipo pueden pertenecer al mismo sistema escolar.
Identificación del tratamiento
En el proyecto STAR, el tratamiento aplicado es la pertenencia a clases reducidas y a clases normales con ayuda, frente a clases normales sin ayuda. En este trabajo, convertimos este tratamiento en dos tratamientos binarios:
- Clase reducida frente a clase normal
- Clase normal con ayuda frente a clase normal sin ayuda
Por otra parte, escogemos como efecto la variación de una nueva variable mark, definida como la suma de las puntuaciones en lectura y matemáticas, habitual en la literatura relacionada con este estudio.
Además, realizamos el análisis para cada año de manera independiente.
Distribuciones de variables por tratamiento
Pasemos a ver las distribuciones de algunas variables que consideramos de interés en función del tratamiento, con el objetivo de ver si hay una asignación aleatoria de los tratamientos y trabajamos con la hipótesis de independencia.
Vemos que las distribuciones de género son muy similares para los distintos tratamientos.
En la nueva variable ethnicity_grouped las distribuciones también son similares.
En este caso observamos una diferencia apreciable: la experiencia de los maestros en las clases reducidas suele ser menor.
Las distribuciones de tipo de escuela según los distintos tratamientos también son de un vistazo bastante similares.
Selección de variables confusoras: creación del modelo DAG
El modelo causal que se mostrará a continuación es el que ha dado menos problemas a la hora de recuperar efectos del tratamiento en etapas posteriores (sobre todo en la parte de DoubleML). Son también las variables sobre las que más hincapié se hace en la literatura que hemos consultado (Hanck et al. 2021; Mosteller 1998).
Estas variables son:
- Género del estudiante (
gender) - Experiencia del profesorado (
experience) - Etnicidad del estudiante (
ethnicity) - Participación en el almuerzo gratuito (
lunch) - Tipo de escuela (
school)
La variable schoolid veremos posteriormente que otorga mucha de la variabilidad explicada en un modelo de regresión múltiple, pero nos daba severos problemas en estimaciones de ATE con otro tipo de modelo y por ello no la incluimos en el modelo DAG. Al resto de variables como tethnicity, degree o ladder les sucedía algo parecido, pero en este caso tampoco aportaban tanto a la variabilidad explicada en el modelo de regresión.
Análisis del efecto del tratamiento
Crearemos en primer lugar una nueva variable que sea la suma de las puntuaciones de lectura y matemáticas para cada curso (el mark mostrado anteriormente en el DAG). Además, calcularemos el percentil de esta variable (markPerc).
Estimación naive del efecto del tratamiento
Para obtener una primera estimación del efecto medio del tratamiento (ATE) para cada curso podemos emplear el estimador diferencia en medias (DIM), definido como el valor promedio de la respuesta de los tratados menos el valor promedio de la respuesta para los no tratados. En ausencia de independencia, independencia condicional o asigación aleatoria del tratamiento, este es un estimador sesgado y es distinto al efecto medio del tratamiento.
Según la documentación del estudio, tanto la asignación de alumnos como de profesores fue totalmente aleatoria, por lo que podemos tomar el DIM como una primera estimación válida del ATE con la que comparar el resto de estimaciones que realizaremos más adelante.
| K | 1 | 2 | 3 | |
|---|---|---|---|---|
| Small - Regular | 13.899 | 29.781 | 19.394 | 15.587 |
| Regular+Aide - Regular | 0.314 | 11.959 | 3.479 | -0.291 |
Estos resultados son exactamente los mismos que los que se mostrarán a continuación con el modelo básico de regresión lineal. Sin embargo, lo siguiente será más riguroso al incluir también estimaciones del error y cuestiones de significancia.
Modelos de regresión
Modelo básico
Consideramos el modelo:
\(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \epsilon\)
donde \(Y\) es la variable respuesta que nos será de interés, \(\beta_0\) es el intercepto, \(\beta_1\) es el indicador de la clase pequeña, \(\beta_2\) es el indicador de la clase regular con ayuda. \(\epsilon\) es el término de ruido usual incorporado en el modelo.
Se toma en primer lugar a \(Y = \text{mark}\), la suma de las puntuaciones de lectura y matemáticas (read + math).
Se calculan a continuación modelos lineales de regresión siguiendo la expresión anterior para cada uno de los cursos. Se calcularán también los errores estándar robustos para cada uno de los coeficientes (uso de la función vcovHC que contiene la matriz de covarianza robusta de los coeficientes estimados). Estos se utilizan para corregir los problemas de heterocedasticidad (cuando la varianza de los errores no es constante) en los modelos de regresión.
| Variable dependiente: Curso | ||||
| K | 1 | 2 | 3 | |
| starksmall | 13.899*** | |||
| (2.454) | ||||
| starkregular+aide | 0.314 | |||
| (2.271) | ||||
| star1small | 29.781*** | |||
| (2.831) | ||||
| star1regular+aide | 11.959*** | |||
| (2.652) | ||||
| star2small | 19.394*** | |||
| (2.712) | ||||
| star2regular+aide | 3.479 | |||
| (2.545) | ||||
| star3small | 15.587*** | |||
| (2.396) | ||||
| star3regular+aide | -0.291 | |||
| (2.273) | ||||
| Constant | 918.043*** | 1,039.393*** | 1,157.807*** | 1,228.506*** |
| (1.633) | (1.785) | (1.815) | (1.680) | |
| Observations | 5,786 | 6,379 | 6,049 | 5,967 |
| R2 | 0.007 | 0.017 | 0.009 | 0.010 |
| Adjusted R2 | 0.007 | 0.017 | 0.009 | 0.010 |
| Residual Std. Error | 73.490 (df = 5783) | 90.501 (df = 6376) | 83.694 (df = 6046) | 72.910 (df = 5964) |
| F Statistic | 21.263*** (df = 2; 5783) | 56.341*** (df = 2; 6376) | 28.707*** (df = 2; 6046) | 30.250*** (df = 2; 5964) |
Los resultados de la Tabla anterior dejan claro que hay un incremento del rendimiento del estudiante cuando está en clases reducidas (ver valores de los coeficientes, que además son muy significativos ’***’). Las estimaciones están entre 13.899 y 29.781, si bien es cierto que el efecto en el curso 1 se separa un poco de los demás. Esto podría deberse a que en ese año en particular los resultados de la case regular fueron bastante peores en comparación de los de las otras clases (ya que vemos que hay un efecto incluso notable con la clase regular + ayuda que en el resto no se ve).
Modelos con más variables
Buscaremos añadir más variables para ver si puede mejorarse la variación observada en la variable dependiente (la suma de las puntuaciones de lectura y matemáticas). Además, se intenta de esta manera intengar mitigar o resolver posibles problemas en una asignación no totalmente aleatoria de los tratamientos.
Se añaden las variables comentadas anteriormente en el DAG, así como la variable schoolId que aumenta mucho el valor de la variabilidad explicada. Los modelos son los siguientes:
Haremos distintos modelos incluyendo más o menos variables de las mostradas. Concretamente:
Modelo 1 (básico): \(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \epsilon\)
Modelo 2: \(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \epsilon\)
Modelo 3: \(Y = \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{School} \epsilon\)
Modelo 4 (el del DAG): \[\begin{equation} \begin{aligned} Y &= \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{School} \\ &+ \beta_5 \cdot \text{Gender} + \beta_6 \cdot \text{Lunch} + \beta_7 \cdot \text{EthnicityGrouped} + \epsilon \end{aligned} \end{equation}\]
Modelo 5: \[\begin{equation} \begin{aligned} Y &= \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{SchoolId} \\ &+ \epsilon \end{aligned} \end{equation}\]
Modelo 6: \[\begin{equation} \begin{aligned} Y &= \beta_0 + \beta_1 \cdot \text{SmallClass} + \beta_2 \cdot \text{RegularClassWithAide} + \beta_3 \cdot \text{Experience} + \beta_4 \cdot \text{SchoolId} \\ &+ \beta_5 \cdot \text{Gender} + \beta_6 \cdot \text{Lunch} + \beta_7 \cdot \text{EthnicityGrouped} + \epsilon \end{aligned} \end{equation}\]
Se presentan los resultados solo para el curso de jardín de infancia en aras de la brevedad. Los resultados para los otros cursos son similares.
| Resultados para Kindergarten | ||||||
| Modelo 1 | Modelo 2 | Modelo 3 | Modelo 4 (DAG) | Modelo 5 | Modelo 6 | |
| starksmall | 13.899*** | 14.006*** | 13.259*** | 13.792*** | 15.933*** | 15.901*** |
| (2.454) | (2.447) | (2.419) | (2.356) | (2.241) | (2.155) | |
| starkregular+aide | 0.314 | -0.601 | -0.356 | 0.538 | 1.215 | 1.765 |
| (2.271) | (2.254) | (2.222) | (2.158) | (2.035) | (1.962) | |
| experiencek | 1.469*** | 1.211*** | 1.092*** | 0.743*** | 0.661*** | |
| (0.169) | (0.172) | (0.169) | (0.170) | (0.166) | ||
| schoolksuburban | 34.774*** | 6.062* | ||||
| (2.854) | (3.439) | |||||
| schoolkrural | 25.384*** | -2.440 | ||||
| (2.472) | (3.548) | |||||
| schoolkurban | 26.815*** | 0.055 | ||||
| (3.745) | (4.210) | |||||
| genderfemale | 13.994*** | 12.088*** | ||||
| (1.849) | (1.673) | |||||
| lunchkfree | -32.722*** | -34.882*** | ||||
| (2.079) | (1.983) | |||||
| ethnicity_groupedcauc | 13.754*** | 24.224*** | ||||
| (3.030) | (3.408) | |||||
| Constant | 918.043*** | 904.721*** | 885.398*** | 907.450*** | 925.675*** | 909.754*** |
| (1.633) | (2.222) | (2.625) | (3.193) | (7.653) | (7.702) | |
| Identificadores de escuela | No | No | No | No | Sí | Sí |
| Observations | 5,786 | 5,766 | 5,766 | 5,748 | 5,766 | 5,748 |
| R2 | 0.007 | 0.020 | 0.048 | 0.104 | 0.234 | 0.291 |
| Adjusted R2 | 0.007 | 0.020 | 0.047 | 0.103 | 0.223 | 0.280 |
| Residual Std. Error | 73.490 (df = 5783) | 73.085 (df = 5762) | 72.078 (df = 5759) | 69.976 (df = 5738) | 65.075 (df = 5684) | 62.667 (df = 5663) |
| F Statistic | 21.263*** (df = 2; 5783) | 39.861*** (df = 3; 5762) | 48.009*** (df = 6; 5759) | 74.162*** (df = 9; 5738) | 21.413*** (df = 81; 5684) | 27.665*** (df = 84; 5663) |
Las columnas de los Modelos 2 a 6 muestran que la inclusión de variables adicionales de índole estudiantil, docente y escolar no han modificado drásticamente el valor de la estimación del efecto del tratamiento. Continuamos teniendo un valor positivo y significativo para el efecto de la clase pequeña en el rendimiento de los estudiantes, en contraposición al que otorga la ayuda en la clase regular que no es significativo.
De todas maneras, estos resultados ayudan a fortalecer el hecho de que lo observado con el modelo básico no sufre demasiado de la posible asignación no aleatoria de los tratamientos. Añadir las variables de identificación aumenta considerablemente el valor del \(R^2_\text{ajustado}\), disminuyendo además el valor de los errores estándar de los coeficientes que nos interesan (hay algo más de precisión, por tanto).
Fijando los efectos que nos ofrecen los identificadores de escuela el efecto de la experiencia del profesorado sale a la luz (modelo número 5). Se observa que cada año de experiencia otorga 0.74 puntos más en la suma de las puntuaciones de lectura y matemáticas.
Todos estos valores cuantitativos de incremento en la nota resultarían útiles si estuviéramos acostumbrados con el sistema de puntuaciones. Sin embargo, como no es el caso, lo mejor es hacer una comparación en términos de desviaciones estándar o bien de incremento de percentiles.
| K | 1 | 2 | 3 | |
|---|---|---|---|---|
| Small | 0.188 | 0.326 | 0.231 | 0.213 |
| SmallSE | 0.033 | 0.031 | 0.032 | 0.033 |
| RegAide | 0.004 | 0.131 | 0.041 | -0.004 |
| RegAideSE | 0.031 | 0.029 | 0.030 | 0.031 |
| SSD | 73.747 | 91.283 | 84.077 | 73.267 |
SSD es la desviación estándar muestral de la variable mark para cada curso. Los valores de Small y RegAide son los incrementos en la nota normalizados por la desviación estándar muestral. Los valores de SmallSE y RegAideSE son los errores estándar de los coeficientes estimados normalizados por la desviación estándar muestral.
La diferencia que otorga estar en la clase reducida está en torno al 0.2 de desviación estándar en incremento de rendimiento, a excepción de lo ocurrido en el curso 1, por lo comentado anteriormente.
Aplicación de ténicas de matching
Si asumimos que ha habido fallos en el protocolo de asignación aleatoria del tratamiento, entonces la condición de independencia de los resultdos potenciales con el estatus de tratamiento no se cumple y el estimador diferenncia de medias es un estimador sesgado. No obstante, podemos considerar que las diferenccias en el estatus de tratamiento emergen por diferencias en las variables de confusión X, anteriormente mencionadas, y que una vez controladas la independencia se restablece (independencia condicional).
Para identificar el efecto causal considerando estas vairables de confusión, se requiere además de la independencia condicional, que haya solapamiento, es decir, que individuos con mismos valores de X tengan una probabilidad positiva de ser participantes y no participantes y que haya equilibrio en las variables de confusión, es decir que la distribución en X de los tratados y los no tratados sean similares. Con tal de conseguir estos objetivos empleamos técnicas de matching.
El matching es un método no paramétrico de pre-tratamiento de la muestra que imputa el resultado potencial no observado de una unidad utilizando resultados observables de unidades similares (en variables de confusión) con estatus de tratamiento opuesto. Esta técnica puede utilizarse para para aumentar la eficiencia de la estimación del efecto causal cuando se tiene una base de datos rica en características observables, si bien no permite eliminar el sesgo que emerge consecuencia de variables de confusión no observadas.
En primer lugar, para poder aplicar el matching, debemos trabajar sin datos faltantes. En este caso, eliminaremos los registros que contengan NAs.
Una vez obtenidos los Data Frames limpios, realizamos el Matchit con las variables: experience, lunch, school, gender y ethnicity_grouped.
Comprobamos el equlibrio de las variables tras el matcht visualizando los love-plots de los distintos cursos.
Por lo general, observamos que las distribuciones de tratamiento y control ya estaban bastante balanceadas, el proceso mejora las métricas mostradas, pero no excesivamente. Como caso particular a considerar, vemos que la variables experience para el curso grade1 estaba bastante desbalanceada, pudiendo afectar de forma considerable a la estimación del ATE.
Por último, obtenemos los datos correspondientes al proceso de matching, para poder recuperar el ATE.
| Term | Contrast | Estimate | Std. Error | z | Pr(>|z|) | S | 2.5 % | 97.5% | |
|---|---|---|---|---|---|---|---|---|---|
| K | stark | small - regular | 11.834836 | 3.716597 | 3.184320 | 0.0014509 | 9.428793 | 4.550440 | 19.11923 |
| 1 | star1 | small - regular | 24.367413 | 3.728985 | 6.534597 | 0.0000000 | 33.868082 | 17.058737 | 31.67609 |
| 2 | star2 | small - regular | 15.860448 | 3.811721 | 4.160968 | 0.0000317 | 14.945608 | 8.389613 | 23.33128 |
| 3 | star3 | small - regular | 9.480483 | 3.249712 | 2.917331 | 0.0035304 | 8.145948 | 3.111166 | 15.84980 |
Observamos que, en todos los casos, el efecto causal se reduce respecto a la previa obtención del ATE con los modelos lineales sin usar matching (al menos en valor estimado, pero realmente hay solapamiento por el error otorgado a este). Esta ligera reducción puede deberse a la consideración de variables de confusión en el tratamiento. Dado que está mejor identificado el efecto causal, esta estimación debería ser más fiable.
Uso de Meta-Learners
Los meta-learners se basan en utilización de métodos ML disponibles diseñados para tareas de regresión o clasificación (no modificados para inferencia causal). Los meta-learners son una manera sencilla de aprovechar los métodos predictivos ML para estimar efectos condicionales. Se agrupan a su vez en métodos para la predicción de la respuesta condicional (S- y T-learner) o aquellos además usan una estimación del Propensity Score (p.e. DR- y X-learner). to Se utiliza la librería econml (Keith Battocchi 2019).
Para la inclusión en los diferentes modelos necesitamos tener las cosas bien preprocesadas, ya que los metalearners solo admiten variables que sean numéricas. Se transformarán las variables categóricas a variables dummy y se eliminarán las filas con valores faltantes cuando sea necesario. Un ejemplo del conjunto de datos que tenemos se muestra a continuación. Puede observarse que nos hemos quedado con las variables del modelo DAG que dijimos con anterioridad.
Una cosa relevante de mencionar es que a partir de aquí nos hemos centrado en evaluar solo el tratamiento de la clase pequeña frente a la clase regular, ya que se ha visto anteriormente que entre la clase regular y la clase regular con ayuda no parecía haber diferencias significativas.
stark experiencek gender ... schoolk_rural schoolk_suburban schoolk_urban
1 1.0 7.0 1.0 ... 1.0 0.0 0.0
2 1.0 21.0 1.0 ... 0.0 1.0 0.0
10 0.0 16.0 0.0 ... 1.0 0.0 0.0
11 1.0 5.0 0.0 ... 1.0 0.0 0.0
12 0.0 8.0 0.0 ... 1.0 0.0 0.0
[5 rows x 10 columns]
Dividimos el conjunto de datos en train y test. Se ha optado por una división 80 - 20. Se ha fijado una semilla para que los resultados sean reproducibles.
xTrain_k, xTest_k, tTrain_k, tTest_k, yTrain_k, yTest_k = train_test_split(Xk, Tk, Yk, test_size=0.2, random_state=seed)
xTrain_1, xTest_1, tTrain_1, tTest_1, yTrain_1, yTest_1 = train_test_split(X1, T1, Y1, test_size=0.2, random_state=seed)
xTrain_2, xTest_2, tTrain_2, tTest_2, yTrain_2, yTest_2 = train_test_split(X2, T2, Y2, test_size=0.2, random_state=seed)
xTrain_3, xTest_3, tTrain_3, tTest_3, yTrain_3, yTest_3 = train_test_split(X3, T3, Y3, test_size=0.2, random_state=seed)Se muestra a continuación lo que sería la distribución de la respuesta (mark) por estatus de tratamiento para el curso de Kindergarten.
S-Learner
El S-Learner es un modelo de aprendizaje supervisado que utiliza un único modelo predictivo para estimar tanto el resultado con el tratamiento como sin él. Se entrena concretamente un modelo predictivo usando las características de los individuos y la variable tratamiento como predictores. Luego, este modelo se usa para predecir el resultado bajo ambas condiciones para cada individuo y se calcula la diferencia entre las predicciones para obtener el efecto del tratamiento.
Se estuvo probando con diferentes transformaciones, pero la que mejores resultados pudimos finalmente obtener era utilizando una transformación polinomial de grado 2 (PolynomialFeatures) con una regularización Lasso (L1), tras ajustar el valor del hiperparámetro alpha.
Puede observarse que las barras de error son significativamente grandes: resulta bastante incierto estimar el efecto del tratamiento para un individuo a pesar de todos los esfuerzos que hemos hecho por buscar modelos más robustos.
Los resultados para el ATE están en la línea de lo que obtuvimos con los modelos de regresión anteriores, quizás algo por debajo. Sin embargo, si tenemos en cuenta los intervalos de confianza, sí que caería en lo que antes vimos.
Podemos a continuación observar los SHAP values (Shapley Additive Explanations), de tal forma que podamos entender el impacto de cada característica en la predicción de un modelo. Se mostrarán los resultados solo para Kindergarten en aras de la brevedad.
El gráfico waterfall muestra cómo se combinan los efectos de las características individuales para llegar a la predicción final. Cada barra representa el SHAP value de una característica, y se ordenan de mayor a menor impacto en la predicción.
El gráfico de barras muestra la importancia media de cada característica en el modelo. Este gráfico se crea sumando los valores absolutos de los SHAP values de cada característica a lo largo de todas las observaciones.
X-learner
En el X-Learner, al igual que en el DR-Learner, se tienen dos etapas para estimar el efecto del tratamiento en una población. En la primera etapa se estiman las funciones nuisance, como la propensión al tratamiento y la respuesta potencial condicional, para generar una pseudorespuesta. En la segunda etapa, se ajusta un modelo de regresión usando la pseudorespuesta y las covariables para obtener una estimación final del CATE. Tras esto, puede realizarse la predicción.
En nuestro caso, usaremos el XLearner incorporando los modelos de GradientBoostingRegressor y RandomForestClassifier para las funciones nuisance y generación de pseudorespuesta. Se ha fijado un número de estimadores de 100 y una profundidad máxima de 10 para el modelo de regresión y de 6 para el modelo de clasificación.
El valor central para el ATE en este caso está en torno a lo que habíamos obtenido en ocasiones anteriores. Sin embargo, vemos que los intervalos de confianza son muchísimo peores que en el caso anterior. No hemos podido finalmente ajustar el modelo lo suficientemente bien como para que dé resultados más fiables.
Uso de DoubleML
DoubleML se trata de un meta-learner que, a diferencia de los comentados anteriormente, proporciona un marco general para la estimación de efectos causales. Este funciona tanto con tratamientos discretos como continuos, combinando las fortalezas del Machine Learning y la Econometría.
DoubleML utiliza un enfoque que combina la regresión de residuos sobre residuos para ortogonalizar el tratamiento y las variables de confusión, el uso de modelos de aprendizaje automático para estimar funciones de nuisance de manera flexible, y la técnica de cross-fitting para abordar problemas de sesgo y sobreajuste. Esto permite obtener estimaciones más precisas y robustas del efecto causal al mitigar los efectos de las variables de confusión y mejorar la generalización del modelo.
En el código se ha creado una función llamada run_dml_analysis que utiliza la biblioteca DoubleML para realizar un análisis causal. Se han empleado los modelos de RandomForest y XGB tanto en su versión de Regresor como Clasificador (según queramos sacar la media condicional de respuesta o el propensity score, respectivamente). Utilizando estos modelos, se ajustan dos tipos de modelos DoubleMLPLR (Double ML with Partially Linear Regression), uno para cada algoritmo de aprendizaje automático. Luego, se generan resúmenes de los resultados y, si se proporcionan grupos, se calculan los efectos condicionales (GATE) para cada modelo y se visualizan mediante gráficos de barras con intervalos de confianza.
Se muestran en primer lugar los resultados obtenidos para el Average Treatment Effect (ATE) en la siguiente Tabla.
El valor de los coeficientes estimados por el modelo de DoubleML, indicada que con un p-valor << 0.05, existe un efecto estadísticamente significativo de la aplicación del tratamiento sobre la nota para todos los cursos, siendo los alumnos de primer grado donde este efecto sería mayor mientras que en segundo y tercero los coeficientes presentan valores similares, de entre 12 y 14 puntos. Para kindergarten sí observamos un incremento mayor, de entre 15 y 17 puntos.
Group Average Treatment Effects (GATEs)
Efecto del tratamiento por etnia
Parece que los grupos no caucásicos se benefician en mayor medida del hecho de estar en clases más reducidas, sobre todo en KinderGarten, tal y como se aprecia en trabajos como el de (Mosteller 1998). En el resto de casos no puede asegurarse un efecto del tratamiento superior, puesto que hay cierto solapamiento entre los intervalos de confianza.
Efecto del tratamiento por género
En general, no puede asegurarse que el tratamiento resulte más beneficioso para ninguno de los dos grupos (mujeres u hombres). Sin embargo, en Kindergarten parece ser que los hombres sí se ven más beneficiados.
Efecto del tratamiento por tipo de escuela
Llama la atención la evolución de los efectos heterogéneos a lo de los cursos. En Kindergarten se aprecia mayor efecto tratamiento en los colegios de los barrios urbanos e inner-city (aunque sí es cierto que hay cierto solapamiento en el intervalo de confianza por debajo). En primer curso, los mayores efectos parece recibirlos el suburbano, mientras que en urbano no queda del todo claro puesto que hay un intervalo de confianza demasiado amplio como para hacer afirmaciones. Por otra parte, en segundo y tercero parece haber un resultado algo mayor para inner-city, aunque de nuevo no podemos sacar conclusiones precipitadas puesto que hay solapamiento en los intervalos de confianza. Urbano ofrece intervalos de confianza demasiado grandes, indicando que no hemos podido terminar de encontrar el modelo que mejor se ajuste a esta clase en dicha variable.